home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / util / wb / SRAP.lha / srap / rexx / SRAP.rexx
OS/2 REXX Batch file  |  2000-03-30  |  6KB  |  234 lines

  1.  
  2. /* $VER: SRAP.rexx 1.2 (30.03.2000) */
  3. /* SRAP: Show Req Attack Picture    */
  4. /* Created by Ralf Heinert          */
  5.  
  6. /* rx SRAP.rexx <Logo|AnimLogo|Button|Pattern> */
  7. /* DOpus filetype:  Vergl. RAIM\000   ID: RAIM */
  8. /* Doubleclick   :  AmigaDOS  rx SRAP.rexx {f} */
  9. /* And check up the 'no quotes' option !!!     */
  10.  
  11.  
  12. SIGNAL ON break_c
  13. SIGNAL ON failure
  14. SIGNAL ON halt
  15. SIGNAL ON ioerr
  16. SIGNAL ON syntax
  17.  
  18. PARSE ARG RAPicture
  19. PARSE SOURCE . . . ScriptPath . .
  20. IF LastPos("/",ScriptPath) > 0 THEN Tc = "/"
  21.                                ELSE Tc = ":"
  22. ScriptPath = Left(ScriptPath,LastPos(Tc,ScriptPath)-1)
  23. IF LastPos("/",ScriptPath) > 0 THEN Tc = "/"
  24.                                ELSE Tc = ":"
  25. ParentPath = Left(ScriptPath,LastPos(Tc,ScriptPath))
  26. ScriptPath = ScriptPath"/"
  27.  
  28. IF Open('lg','ENV:language','R') THEN DO
  29.   language = ReadLn('lg')
  30.   Call Close('lg')
  31. END
  32. ELSE Language = "english"
  33.  
  34. IF RAPicture = "" THEN DO
  35.   ReqTitle = "SRAP Problem"
  36.   IF Language = "deutsch" THEN
  37.     ReqText  = "\nAnwendung :\n\nrx SRAP < RAIM-Datei >"
  38.   ELSE
  39.     ReqText  = "\nUsage:\n\nrx SRAP < RAIM-File >"
  40.   Gadgets  = "OK"
  41.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  42.   EXIT
  43. END
  44.  
  45. RAPicture = Strip(RAPicture,'B',D2C(34))
  46. IF LastPos("/",RaPicture) = 0 THEN DO
  47.   ReqTitle = "SRAP Problem"
  48.   IF Language = "deutsch" THEN
  49.     ReqText  = "\nDie Bilddatei darf sich NICHT \nin einem Wurzelverzeichnis \nbefinden !"
  50.   ELSE
  51.     ReqText  = "\nThe image MUST NOT be placed\nin a root directory !"
  52.   Gadgets  = "OK"
  53.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  54.   EXIT
  55. END
  56.  
  57. RaPict = SubStr(RaPicture,LastPos("/",RaPicture)+1)
  58. Path   = Left(RaPicture,LastPos("/",RaPicture))
  59. IF LastPos("/",Path) > 0 THEN Tc = "/"
  60.                          ELSE Tc = ":"
  61. RAPath = Left(Path,LastPos(Tc,Path)-1)
  62. MPath  = Left(RaPath,Length(RAPath)+1)
  63. IF LastPos("/",MPath) > 0 THEN Tc = "/"
  64.                           ELSE Tc = ":"
  65. Drawer = SubStr(RaPath,LastPos(Tc,RaPath)+1)"/"
  66. RaPath = Left(RAPath,Length(RAPath)-(Length(Drawer)-1))
  67. RPath  = Left(RAPath,Length(RAPath)-1)
  68. IF LastPos("/",RPath) > 0 THEN Tc = "/"
  69.                           ELSE Tc = ":"
  70. RPath = SubStr(RaPath,LastPos(Tc,RPath)+1)
  71.  
  72. IF ~EXISTS(RaPicture) THEN DO
  73.   ReqTitle = "SRAP Problem"
  74.   IF Language = "deutsch" THEN
  75.     ReqText  = "\nKann diese Datei nicht finden: \n\n"RAPicture
  76.   ELSE
  77.     ReqText  = "\nCannot find this file: \n\n"RAPicture
  78.   Gadgets  = "OK"
  79.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  80.   EXIT
  81. END
  82.  
  83. CALL OPEN("Test",RaPicture,"R")
  84.   String = ""
  85.   DO i = 1 TO 8
  86.     String = String||ReadCh("Test")
  87.   END
  88. CALL CLOSE("Test")
  89.  
  90. Kind   = SubStr(String,8,1)
  91. String = Left(String,4)
  92. IF String ~= "RAIM" THEN DO
  93.   ReqTitle = "SRAP Problem"
  94.   IF Language = "deutsch" THEN
  95.     ReqText  = RaPath"\n"Drawer"\n"RaPict"\n\nhat kein RAIM Format !"
  96.   ELSE
  97.     ReqText  = RaPath"\n"Drawer"\n"RaPict"\n\nhas no RAIM format !"
  98.   Gadgets  = "OK"
  99.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  100.   EXIT
  101. END
  102.  
  103. RaPrefs = "ENV:ReqAttack.Prefs"
  104. RbPrefs = "ENV:ReqAttack.Prefs-SRAP"
  105.  
  106. IF Exists(RaPrefs) THEN DO
  107.   DosCommand = "c:Rename "RaPrefs" AS "RbPrefs
  108.   Address command DosCommand
  109. END
  110. ELSE DO
  111.   ReqTitle = "SRAP Problem"
  112.   IF Language = "deutsch" THEN
  113.     ReqText  = "Konnte die \n"RaPrefs"\nnicht finden ! "
  114.   ELSE
  115.     ReqText  = "Could not find\n"RaPrefs
  116.   Gadgets  = "OK"
  117.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  118.   EXIT
  119. END
  120.  
  121. TPicture = "Ram:T/SRAP."Time('S')
  122. Address Command "copy "RaPicture" "TPicture
  123.  
  124. CALL OPEN("Prefs",RaPrefs,"W")
  125.   WriteLn("Prefs","REQPOS = CENTER")
  126.   WriteLn("Prefs","if REQTITLE = "SRAP)
  127.   WriteLn("Prefs","  logo = "'"'TPicture'"')
  128.   IF Kind = "t" | Drawer = "Buttons" THEN DO
  129.     WriteLn("Prefs","okimage = "'"'TPicture'"')
  130.     WriteLn("Prefs","cancelimage = $OKIMAGE")
  131.   END
  132.   IF Drawer = "Patterns" THEN DO
  133.     WriteLn("Prefs","BACKGROUND = "RaPict)
  134.   END
  135.   WriteLn("Prefs","endif")
  136. CALL CLOSE("Prefs")
  137.  
  138. ReqTitle = "SRAP"
  139. ReqText  = RPath"\n"Drawer"\n\n"RaPict
  140. IF Kind = "t" THEN Gadgets = "- Button|OK"
  141. ELSE               Gadgets = "OK"
  142.  
  143. CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  144.  
  145. Address Command "Delete "RaPrefs" QUIET"
  146. Address Command "Delete "TPicture" QUIET"
  147. DosCommand = "c:Rename "RbPrefs" AS "RaPrefs
  148. Address command DosCommand
  149.  
  150. EXIT
  151.  
  152. /* ------------ Routine zur Textausgabe mittels RequestChoice -------------- */
  153.  
  154. _RequestChoice:
  155.  
  156. Parse Arg ReqTitle, ReqText, Gadgets
  157.  
  158. IF EXISTS('c:RequestChoice') THEN DO
  159.  
  160.   RCText = ReqText
  161.  
  162.   /*            Strings aufbereiten            */
  163.   DO WHILE POS('\n',ReqText) > 0
  164.     ReqText = Overlay(D2C(10),ReqText,Pos('\n',ReqText),2)
  165.     RCText  = Overlay('*n',RCText,Pos('\n',RCText),2)
  166.   END
  167.   RCText = RCText"*n"
  168.  
  169.   /*                 Requester                 */
  170.  
  171.   Dosbefehl = "C:RequestChoice >ENV:SrapReqErg "||,
  172.                D2C(32)||D2C(34)||,
  173.                ReqTitle||,
  174.                D2C(34)||D2C(32)||D2C(34)||,
  175.                RCtext||,
  176.                D2C(34)||D2C(32)||D2C(34)||,
  177.                Gadgets||D2C(34)
  178.   ADDRESS COMMAND Dosbefehl
  179. END
  180. RETURN 0
  181.  
  182. /* ----------------- Im Falle eines Script-Fehlers hier hin springen ---------------- */
  183.  
  184. break_c:
  185. failure:
  186. halt:
  187. ioerr:
  188. syntax:
  189.    Line = sigl
  190.    Fehlerinfo1 = 'Fehler Nr.'rc ':'
  191.    Fehlerinfo2 = ' 'ERRORTEXT(rc)
  192.    Fehlerinfo3 = "in Zeile  "|| Line ':'
  193.    Fehlerinfo4 = ' 'Translate(Strip(SOURCELINE(Line),'B'),D2C(39),D2C(34))
  194.    IF Length(Fehlerinfo4) > 40 THEN DO
  195.      Len1 = Trunc(Length(Fehlerinfo4) / 2)
  196.      Len2 = Length(Fehlerinfo4) - Len1
  197.      Fehlerinfo4 = Left(Fehlerinfo4,Len1)||"*n "||Right(Fehlerinfo4,Len2)
  198.    END
  199.    Reqtext  = Fehlerinfo1||"*n"||Fehlerinfo2||"*n"||Fehlerinfo3||"*n"||Fehlerinfo4
  200.    Gadgets = "OK"
  201.    CALL _RequestChoice("SRAP intern problem:", Reqtext, Gadgets)
  202. EXIT(10)
  203.  
  204. /* Lager
  205. IF ~EXISTS(ScriptPath'QuitReqAttack') THEN DO
  206.   ReqTitle = "SRAP Problem"
  207.   ReqText  = "Could not find\n"ScriptPath'QuitReqAttack'
  208.   Gadgets  = "OK"
  209.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  210.   EXIT
  211. END
  212.  
  213. IF ~EXISTS(ParentPath'ReqAttack') THEN DO
  214.   ReqTitle = "SRAP Problem"
  215.   ReqText  = "Could not find\n"ParentPath'ReqAttack'
  216.   Gadgets  = "OK"
  217.   CALL _Requestchoice(ReqTitle,ReqText,Gadgets)
  218.   EXIT
  219. END
  220. */
  221.  
  222. /*
  223. Address command ScriptPath'QuitReqAttack'
  224. DO 30 WHILE SHOW('P','ReqAttack Warp Core')
  225.      ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  226. END
  227. */
  228. /*
  229. DO 30 WHILE ~SHOW('P','ReqAttack Warp Core')
  230.      ADDRESS COMMAND 'Wait >NIL: 1 SEC'
  231. END
  232. Address command ParentPath'ReqAttack'
  233. */
  234.